今天來繼續我們的控制流,今天來講一下 if 跟 switch 這兩個語法。
if 語法最簡單的狀況下就是他有一個條件,只有條件為true ,他才會執行。簡單得中文語法就是
如果⋯⋯就,如果沒有就。
var hungry:Bool = true
if hungry {
print("想吃東西")
}else{
print("不餓")
}
// print 出 想吃東西。
if 也可以連續的條件,像是
如果⋯⋯就,如果沒有而有⋯⋯就,如果都沒有就。
大概是這種感覺
var hungry:Bool = false
var food:String = "甜點"
if hungry {
print("想吃東西")
}else if food == "甜點"{
print("可以吃")
}else{
print("不餓")
}
// print 可以吃 。
switch 這個語法呢,蠻常拿來替換 if 語法的,他跟if的差別是他是達到條件跑達到條件的地方,而不是像 if 語法從上面一路往下跑。
var age: Int = 25
var ageString = ""
switch age {
case 0...15:
return ageString = "幼年"
case 15...30:
return ageString = "青年"
case 30...50:
return ageString = "壯年"
case 50...90:
return ageString = "老年"
default:
return ageString = "得道仙人"
}
print(ageString)
// 輸出 青年。
switch 語法會有多個 case 組成,簡單來說你就是把它想成不同條件來理解。
然後我分享一下我之前在社範圍區間條件的時候學到的方法。
switch case 裡 設定 大於某數 或者 小於某數
switch x {
//大於某數
case 30...:
return
case let x where x > 30:
return
//或者 省略 let x
case _ where x > 30
return
//小於某數
case ..<5:
return
case let x where x < 5:
return
case _ where x < 5:
return
}
裡面的 x 可以隨意設置 裡面底線省略的是裡面的 x 跟外面 switch x 的 x 沒有關係
控制轉移得語法有下面幾個
這邊就先介紹前三個。
continue 這個語句的狀態會是停止循環的狀態往下執行之後繼續循環。
let puzzleInput="great minds think alike"
var puzzleOutput=""
let charactersToRemove:[Character]=["a", "e", "i", "o", "u", " "]
for character in puzzleInput {
if charactersToRemove.contains(character) {
continue
}
puzzleOutput.append(character)
}
print(puzzleOutput)
// Prints "grtmndsthnklk"
break 這個語句就是跟他的翻譯一樣,直接結束其執行的狀態。最常見的就是出現在 switch 語句之中。
拿上面的例子,就可以在 default 那邊設成 break 。
var age: Int = 25
var ageString = ""
switch age {
case 0...15:
return ageString = "幼年"
case 15...30:
return ageString = "青年"
case 30...50:
return ageString = "壯年"
case 50...90:
return ageString = "老年"
default:
break
}
他也是寫在 switch 裡面,原本 break 是要防止 case 執行完之後會往下到其他的 case 條件之中,那 fallthrough 就是 我不管我全都要,小朋友才做選擇。 (X
以下面官方的例子就可以明白許多。
let integerToDescribe = 5
var description = "The number \(integerToDescribe) is"
switch integerToDescribe {
case 2, 3, 5, 7, 11, 13, 17, 19:
description += " a prime number, and also"
fallthrough
default:
description += " an integer."
}
print(description)
// 输出“The number 5 is a prime number, and also an integer.”
好了,今天控制流就到這裡了,明天要來講最常用的函數(functions)。